home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BCI NET
/
BCI NET Dec 94.iso
/
archives
/
programming
/
source
/
fbm12s.lha
/
Features
< prev
next >
Wrap
Text File
|
1994-07-18
|
6KB
|
159 lines
**********************************************************************
* Announcing Version 1.2 of the "Fuzzy PixMap" (or FBM) image library *
**********************************************************************
*** new for 1.2 ***
The main addition is support for JPEG JFIF RGB and grayscale images
using the independent JPEG Group's publically available library.
Also new are a median filter, bitmap thining, improved PostScript printing,
and several bug fixes to Sun and Tiff format routines.
*** Basic ***
This package allows manipulation and conversion of a variety of color
and black-and-white image formats.
Philosophy
Each program can read any of the understood formats, and
can write any of the understood formats that make sense for
the image data.
Programs are designed around specific image operations (sizing,
scaling, retoning, halftoning, quantizing, etc.), rather than
simply converting from one format to another. For example,
converting a 4bit color GIF file to a 1bit Sun rasterfile
takes the following operations:
read GIF format
map color values to grayscale
adjust aspect ratio (1.2 --> 1.0)
scale image up to be visible (320x200 --> 640x480 or 1152x864)
optionally sharpen the image (edge enhancement)
optionally clean up "snow" in image (flip isolated pixels)
halftone (Blue noise, Floyd-Steinberg, Jarvis, Threshhold)
write Sun rasterfile format.
So there equivalent pipeline of fbm routines would be:
clr2gray < foo.gif | fbnorm | fbext [ args ] | fbhalf [args] > foo.1bit
That way you have maximum control over the resulting image size
and quality.
Inputs the following file formats
o GIF files (1 to 8 bits, color or grayscale)
o JPEG JFIF files (8 or 24 bits, color or grayscale)
o Sun rasterfiles (1, 8, or 24 bits, color or grayscale)
o Utah RLE files (from the Utah Raster Toolkit)
o Amiga IFF files (except HAM mode)
o PCX files (b&w and color)
o PBM bitmaps (P1 format only)
o Face files (CMU format for 1bit files by Bennet Yee)
o FBM files (my own format)
(automatically determines input format, and uncompresses
files compressed using 'compress')
Outputs the following formats
o GIF files (mapped color only)
o JPEG JFIF files (8 or 24 bits, color or grayscale)
o Sun rasterfiles (1, 8, or 24 bits, color or grayscale)
o Utah RLE files (from the Utah Raster Toolkit)
o Amiga IFF files (except HAM mode)
o PBM (1bit files only)
o Face format (1bit files only)
o FBM files (my own format)
With input converters for
o raw images (like Amiga Digi-View files)
o Targa By Ian MacPhedran
o PIC By Ian MacPhedran
o QRT By Butler Hines
o Amiga HAM By C. Harald Koch
o Tiff format By Michael Mauldin, using Sam Lefflers tifflib
o UseNet FaceSaver By Dan Sahlin
o Microtek Postscript By Gary Sherwin
With output converters for
o PostScript (1bit or 8bit grayscale, 24bit color)
o Diablo graphics (1bit files only)
o Targa By Ian MacPhedran
o Tiff Format (using Sam Lefflers tifflib)
Operations
o Extract rectangle (optionally resizing and changing aspect ratio)
o Change density and contrast (color and grayscale)
o Rotate 90, 180, or 270 degrees
o Quantize 24 bit RGB images to 8..256 colors
Modified Heckbert median cut
o Halftone grayscale using
Ulichney's Blue Noise dithering
Floyd-Steinberg dithering
Jarvis's Constrained averaging
Threshholding
o Edge Sharpening by Digitial Laplacian (color or grayscale)
o Median of 3x3 neighborhood filter
o Convert color to grayscale (or compute "gray" colormap
so grayscale images can be viewed on frame buffers)
o Compute histograms of grayscale images
o Smooth by averaging neighborhoods to convert 1bit -> 8bit or reduce size
o Clean stray pixels in bitmaps
o Do edge detection
o Reverse black and white (negative image)
Status
Freely available for use, redistribution, incorporation into
other code. Just don't remove the copyright notices or the
author(s) name(s) from any code.
Written in C for BSD and Mach Unix Systems.
Tested on Vaxes, Sun Workstations, IBM RTs, Pyramids, and NeXTs.
Self contained. Does not require Sun include files or library
routines to manipulate Sun rasters. Does require tifflib for
Tiff support, JPEG library for JFIF support, and Utah Raster
Toolkit for RLE support.
Availability
Anonymous FTP, Use exactly these steps:
% ftp nl.cs.cmu.edu (or ftp 128.2.222.56)
User: anonymous
Password: your-name
ftp> binary
ftp> cd /usr/mlm/ftp
ftp> get fbm.tar.Z
ftp> get tiff.tar.Z
ftp> get jpeg.tar.Z
ftp> get utah.tar.Z
ftp> bye
An earlier version was posted to UseNet and is available in the UUNET
archives. This version will eventually be posted, after a period
of user testing.
Acknowledgements
GIF read support written by David Koblas.
GIF write support written by David Rowley.
JPEG support by the Independent JPEG group
Utah RLE Support and Color Postscript support written by Paul Milazzo.
Targa support by Ian MacPhedran.
Some IFF code by Jerry Morrison and Steve Shaw of Electronic Arts.
Edge detection and pixel cleaning by Gary Sherwin and Michael Mauldin.
--
Michael L. Mauldin (Fuzzy) Carnegie Mellon University
Research Computer Scientist Center for Machine Translation
E-mail: mlm+@NL.CS.CMU.EDU 5000 Forbes Avenue
Phone: (412) 268-5293 Pittsburgh, PA 15213-3890